package com.dji.sdk.sample.demo.battery; import android.content.Context; import android.os.Handler; import android.os.Message; import android.widget.ArrayAdapter; import com.dji.sdk.sample.R; import com.dji.sdk.sample.internal.controller.DJISampleApplication; import com.dji.sdk.sample.internal.utils.DialogUtils; import com.dji.sdk.sample.internal.view.BaseSetGetView; import dji.common.error.DJIError; import dji.common.util.CommonCallbacks; import java.util.ArrayList; /** * Class for setting and getting dischage day in battery. */ public class SetGetDischargeDayView extends BaseSetGetView { private static final int SHOW_GET_RESULT = 0; private Handler mHandler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { switch (msg.what) { case SHOW_GET_RESULT: mTextViewGet.setText((String) msg.obj); break; default: break; } return false; } }); public SetGetDischargeDayView(Context context) { super(context); } @Override protected void setMethod() { try { DJISampleApplication.getProductInstance() .getBattery() .setSelfDischargeInDays((short) (mSpinnerSet.getSelectedItemPosition() + 1), new CommonCallbacks.CompletionCallback() { @Override public void onResult(DJIError djiError) { DialogUtils.showDialogBasedOnError(getContext(), djiError); } }); } catch (Exception ignored) { } } @Override protected void getMethod() { try { DJISampleApplication.getProductInstance() .getBattery() .getSelfDischargeInDays(new CommonCallbacks.CompletionCallbackWith<Integer>() { @Override public void onSuccess(Integer aShort) { mHandler.sendMessage(mHandler.obtainMessage(SHOW_GET_RESULT, aShort.toString())); } @Override public void onFailure(DJIError djiError) { } }); } catch (Exception ignored) { } } @Override protected ArrayAdapter getArrayAdapter() { ArrayList<Integer> array = new ArrayList<>(); for (int i = 1; i < 10; i++) { array.add(i); } return new ArrayAdapter(this.getContext(), R.layout.simple_list_item, array); } @Override public int getDescription() { return R.string.battery_listview_set_get_discharge_day; } }